package com.liusy.taskengine.jobmodel;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Vector;


/**
 * 任务池接口（任务源））集合模型
 * 
 * @author liusy 2013-03-03
 */
public class ListJobModel extends AbstractJobModel {
	
	
	private List<Map<String,Object>> listMap = new Vector<Map<String,Object>>();;

	public ListJobModel(List<Map<String,Object>> listMap,
			String sqlTaskModelClassStr) {
		super(sqlTaskModelClassStr);
		this.listMap.addAll(listMap);
	}
	
	/**
	 * 添加一个任务
	 * 
	 * @return
	 */
	public void addListTask(Map<String,Object> map){
		listMap.add(map);
	}
	
	/**
	 * 添加一个任务集合
	 * 
	 * @return
	 */
	public void addListTasks(List<Map<String,Object>> listMap){
		this.listMap.addAll(listMap);
	}
	
	
	/**
	 * 得到正在等待排队中的任务的个数
	 * 
	 * @return
	 */
	public int getListTaskCount(){
		return listMap.size();
	}
	
	/*
	 * (non-Javadoc)
	 * @see com.liusy.taskengine.jobmodel.IJobModel#getTaskPoolData()
	 */
	@Override
	public List<Object> getTaskPoolData() {
		this.pageSize = listMap.size();
		List<Object> list = new ArrayList<Object>();
		list.addAll(this.listMap);
		listMap.clear();
		return list;
	}

}
